home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / usenet / sources / volume89 / graphics / worm.1 < prev   
Internet Message Format  |  1989-05-03  |  49KB

  1. Path: xanth!ames!oliveb!sun!rishathra!page
  2. From: page%rishathra@Sun.COM (Bob Page)
  3. Newsgroups: comp.sources.amiga
  4. Subject: v89i115:  worm - draw squiggly worms
  5. Message-ID: <102571@sun.Eng.Sun.COM>
  6. Date: 3 May 89 07:39:57 GMT
  7. Sender: news@sun.Eng.Sun.COM
  8. Lines: 1091
  9. Approved: page@sun.com
  10.  
  11. Submitted-by: cmcmanis@sun.com (Chuck McManis)
  12. Posting-number: Volume 89, Issue 115
  13. Archive-name: graphics/worm.1
  14.  
  15. This is one of those programs everyone seems to have written.  It was
  16. originally written for a Sun workstation and is based on an article in
  17. the Dec '87 issue of Scientific American. I adapted it to run on the
  18. Amiga since I don't have a Sun at home. :-)
  19.  
  20. [also a lot like the old UNIX 'worms' program.  uuencoded executable
  21. enclosed.  ..bob]
  22.  
  23. # This is a shell archive.
  24. # Remove anything above and including the cut line.
  25. # Then run the rest of the file through 'sh'.
  26. # Unpacked files will be owned by you and have default permissions.
  27. #----cut here-----cut here-----cut here-----cut here----#
  28. #!/bin/sh
  29. # shar: SHell ARchive
  30. # Run the following text through 'sh' to create:
  31. #    Makefile
  32. #    readme.1st
  33. #    rnd.asm
  34. #    worm.c
  35. #    worm.info.uu
  36. #    worm.uu
  37. # This is archive 1 of a 1-part kit.
  38. # This archive created: Wed May  3 00:32:36 1989
  39. echo "extracting Makefile"
  40. sed 's/^X//' << \SHAR_EOF > Makefile
  41. Xworm:    worm.o rnd.o
  42. X    blink lib:c.o+worm.o+rnd.o to worm lib lib:lcm.lib+lib:lc.lib+lib:amiga.lib
  43. Xworm.o:    worm.c
  44. X    lc worm
  45. Xrnd.o:    rnd.asm
  46. X    asm rnd.asm
  47. SHAR_EOF
  48. echo "extracting readme.1st"
  49. sed 's/^X//' << \SHAR_EOF > readme.1st
  50. X    Squiggly Worms
  51. X
  52. XThis is one of those programs everyone seems to have written. It was 
  53. Xoriginally written for a Sun workstation and is based on an article 
  54. Xin the Dec '87 issue of Scientific American. I adapted it to run on 
  55. Xthe Amiga since I don't have a Sun at home. :-) 
  56. X
  57. XExecution of the program is straight forward. If you run it from the CLI
  58. Xyou can specify various options on the command line. These options fall into
  59. Xtwo groups, worm control and screen control. First the worm control :
  60. X
  61. X    -l #    Length of the Worms. Short worms look like bacteria and
  62. X        long one look like modern art. Try lengths of 4 and 2000
  63. X
  64. X    -s #    Size, this determines the size of the worm pieces. The worm is
  65. X        made up of square blocks. Try a size of 4 and a length of 2 for
  66. X        some really short fat worms. Or a size of 32 and a length of 1
  67. X        for some wandering spots. A size of 32 and a length of 100 is 
  68. X        interesting too.
  69. X
  70. X    -n #    Number of worms. This directly effects how fast the worms move
  71. X        4 zip along, 8 are fun, 16 slow down 32 are slower still and
  72. X        several hundred are slow motion city!.
  73. X
  74. XAnd then the screen control :
  75. X
  76. X    -r #    Resolution. This switch sets the resolution of the screen
  77. X        that the program opens, it can be 0, 1, or 2 which stand 
  78. X        for Low (320 X 200), Medium (640 X 200), or High (640 X 400).
  79. X        Note that if you have a 'morerowed' screen it opens it as big
  80. X        as it can.
  81. X
  82. X    -d #    Depth. Number of bitplanes in the screen that is opened. In
  83. X        theory opening a 640 X 400 X 4 screen taxes the chip memory
  84. X        bus, however this is not very cpu intensive so fewer bitplanes
  85. X        do not necessarily increase the speed. You can save chip ram
  86. X        though.
  87. X
  88. X
  89. XIf you double click on the icon the program will ask you to specify the above
  90. Xswitches. (I know it should use TOOLTYPES but hey it's late) 
  91. X
  92. XFinally, I use Lattice 4.0 to compile this thing so you may find that you 
  93. Xneed to diddle with it a bit to get Aztec to compile it correctly. I tried 
  94. Xto #ifdef the really Lattice specific stuff.
  95. X
  96. XHave fun,
  97. X
  98. XChuck McManis
  99. X1141 Vasquez Ave 
  100. XSunnyvale, CA 94086
  101. X
  102. Xbix:      cmcmanis     (pronounced see-mcmanis)
  103. Xusenet:  {anywhere}!sun!cmcmanis
  104. Xarpanet: cmcmanis@sun.COM
  105. SHAR_EOF
  106. echo "extracting rnd.asm"
  107. sed 's/^X//' << \SHAR_EOF > rnd.asm
  108. X*\
  109. X*  :ts=8
  110. X* Yet Another random number generator.  By Leo Schwab.
  111. X* Based on an idea posted on the USENET (Thanks, Sam Dicker!)
  112. X* For the Manx assembler.
  113. X*
  114. X* Calling convention:
  115. X*  short rnd (range);
  116. X*  short range;
  117. X*
  118. X* 8606.30
  119. X*/
  120. X
  121. X        XDEF    _rnd
  122. X        SECTION    __RNDCODE,CODE
  123. X
  124. X_rnd        lea    rndseed,a0    Get address of seed
  125. X        move.l    4(sp),d1    Get range argument
  126. X        tst.w    d1
  127. X        ble.s    setseed        Go reset seed
  128. X
  129. X
  130. X        move.l    (a0),d0        Get seed
  131. X        ADD.L   D0,D0
  132. X        BHI.S   over
  133. X        EORI.L  #$1D872B41,D0
  134. Xover
  135. X        move.l    d0,(a0)        Save new seed
  136. X        andi.l    #$ffff,d0    Coerce into word
  137. X        divu    d1,d0        Divide by range
  138. X        swap    d0         and get remainder (modulus)
  139. X        rts
  140. X
  141. Xsetseed        neg.w    d1        Probably don't need this
  142. X        move.l    d1,(a0)
  143. X        rts
  144. X
  145. X        SECTION    __RNDDATA,DATA
  146. Xrndseed        dc.l    0
  147. X        END
  148. X
  149. X        
  150. SHAR_EOF
  151. echo "extracting worm.c"
  152. sed 's/^X//' << \SHAR_EOF > worm.c
  153. X/*
  154. X * worm.c
  155. X * 
  156. X * Adapted from the Scientific American article 12/87. Original for Sun UNIX.
  157. X * Original Author - Brad Taylor (sun!brad)
  158. X * Adapted to the Amiga by Chuck McManis (sun!cmcmanis)
  159. X * Basically there are five switches they are :
  160. X *    -l n Set the length of the worms to 'n' units, this defaults to 32.
  161. X *    -s n Set the size of the worm units to n X n, defaults to 1 but try
  162. X *         some larger sizes too, their kinda neat.
  163. X *    -n n Set the number of worms on the screen, defaults to 16 worms which
  164. X *         is fairly slow, 4 is pretty quick. Numbers like 3000 are neat too.
  165. X *    -r n Set the screen resolution, 0 = low res (320 X 200), 1 = medium (640 X 200)
  166. X *         and 2 = high (640 X 400)
  167. X *    -d n Set number of bitplanes, 1-5 are acceptable numbers.
  168. X *
  169. X * Note this uses a random number generator that Leo used in demo.c
  170. X * Copyright (C) 1987 by Charles McManis
  171. X * Freely Redistributable if you leave the above comment and following declaration
  172. X * intact ...
  173. X */
  174. X
  175. Xstatic char copyright[] = "Copyright (C) 1987, Charles McManis, ok to copy.";
  176. X
  177. X#include <exec/types.h>
  178. X#include <exec/memory.h>
  179. X#include <intuition/intuition.h>
  180. X#include <graphics/gfxbase.h>
  181. X#include <graphics/gfx.h>
  182. X#include <graphics/rastport.h>
  183. X#include <devices/inputevent.h>
  184. X#include <libraries/diskfont.h>
  185. X#include <stdio.h>
  186. X#include <math.h>
  187. X#ifdef LATTICE
  188. X#include <proto/dos.h>
  189. X#include <proto/graphics.h>
  190. X#endif
  191. X
  192. X
  193. X/* Declare the required Intuition pointers */
  194. Xstruct    IntuitionBase    *IntuitionBase;
  195. Xstruct    GfxBase        *GfxBase;
  196. Xstruct    DiskfontBase    *DiskfontBase;
  197. X
  198. X/* Declare some global tool stuff */
  199. Xstruct     Window        *MyWindow;
  200. Xstruct    Menu        *MyMenu, *CurrentMenu;
  201. Xstruct    Screen        *MyScreen;
  202. Xstruct  TextFont    *MyFont;
  203. X
  204. X/* Declare some defines that make the code a bit more readable */
  205. X#define SIGBIT(w)    (1L << (w->UserPort->mp_SigBit))
  206. X#define GetIntuiMessage(w) (struct IntuiMessage *)GetMsg(w->UserPort)
  207. Xstruct TextAttr    ta = {"topaz.font",11,0,0};
  208. X
  209. X#define CMSIZE         30    /* Max color map size                */
  210. X#define CMFUDGE     2    /* colors needed for borders and background */
  211. X#define SEGMENTS      36    /* Size of sin and cos tables            */
  212. X#define MAXCOLOR    15    /* Most intense color                 */
  213. X
  214. Xextern char *malloc();
  215. X
  216. Xint wormlength = 32;
  217. Xint circsize = 1;
  218. Xint nworms = 16;
  219. Xint black,white;
  220. Xint cmsize;
  221. Xint sintab[SEGMENTS];
  222. Xint costab[SEGMENTS];
  223. X
  224. X
  225. X/*
  226. X * Initialized data section. These structures are pre-initialized with 
  227. X * the values that the program knows ahead of time.
  228. X */
  229. Xstruct NewScreen ns = {
  230. X    0,0,640,400,3,    /* (X,Y) (W,H) (bitplanes)     */
  231. X    1,0,        /* Foreground, Background      */
  232. X    0,        /* View Modes (defaults to none */
  233. X    CUSTOMSCREEN,    /* What else is new           */
  234. X    NULL,        /* Font is set up below       */
  235. X    "Worms, implementation by Chuck McManis V1.0",
  236. X    NULL,        /* No special Gadgets           */
  237. X    NULL        /* No Custom Bitmap           */
  238. X    };
  239. X
  240. Xstruct NewWindow nw = {
  241. X    0,0,640,400,    /* (X,Y) (W,H)            */
  242. X    7,6,        /* Foreground, Background    */
  243. X    CLOSEWINDOW+REFRESHWINDOW,
  244. X    WINDOWCLOSE+SIMPLE_REFRESH+ACTIVATE,
  245. X    NULL,        /* No special Gadgets        */
  246. X    NULL,        /* Use the default Checkmark    */
  247. X    "Squiggly Worms, Implementation by Chuck McManis",
  248. X    NULL,        /* This will be our screen pointer */
  249. X    NULL,        /* We'll use the Bitmap we get    */
  250. X    640,400,640,400, /* No resizing going on */
  251. X    CUSTOMSCREEN    /* We'll use our own screen thankyou */
  252. X    };
  253. X
  254. X
  255. X/*
  256. X * Some declarations for worm, 
  257. X */
  258. X
  259. XUSHORT    colors[32];    /* A place to create the color table */
  260. Xint    ScreenRes = 1;    /* Screen Resolution (0=low 2=hi)    */
  261. XULONG    MaxX, MaxY;    /* Window inside dimensions          */
  262. X
  263. Xstruct wormstuff {
  264. X    int *xcirc;
  265. X    int *ycirc;
  266. X    int dir;
  267. X    int tail;
  268. X    int x;
  269. X    int y;
  270. X    int id;
  271. X};
  272. X
  273. X
  274. Xvoid worm_doit(),drawseg(),goaway(),usage(), color_setup();
  275. Xshort    rnd();
  276. Xstruct wormstuff *worm_init();
  277. X
  278. X/* 
  279. X * Ok, declarations are out of the way, on with the main function 
  280. X */
  281. Xvoid main(argc,argv)
  282. X
  283. Xint    argc;
  284. Xchar    *argv[];    
  285. X    
  286. X{
  287. X  struct IntuiMessage    *im;      /* Intuimessage pointer         */
  288. X  struct Window        *wp;      /* Temporary window pointer        */
  289. X  ULONG            class;      /* Message Class holder        */
  290. X  USHORT        code,qual;/* Message Code and qualifiers     */
  291. X  SHORT            msx,msy;  /* Mouse Co-ordinates for event     */
  292. X  int             i,      /* Your basic counter variable    */
  293. X            xsize,ysize,
  294. X            depth;      /* How many bitplanes did you want?    */
  295. X  struct wormstuff     **worm;      /* Worm data                */
  296. X  char             *cmd;
  297. X
  298. X  cmd = argv[0];
  299. X  depth = 3;        /* default depth */
  300. X  rnd(0);
  301. X  if (argc == 0) {     /* Started from workbench */
  302. X    printf("Worm length : ");
  303. X    scanf("%d",&wormlength);
  304. X    printf("Number of worms [n] :");
  305. X    scanf("%d",&nworms);
  306. X    printf("Worm width [n] :");
  307. X    scanf("%d",&circsize);
  308. X    printf("Screen Resolution [0=Low, 1=Medium, 2=High] :");
  309. X    scanf("%d",&ScreenRes);
  310. X    printf("Number of bitplanes [1-5 for Low res, 1-4 for medium or high] :");
  311. X    scanf("%d",&depth);
  312. X  }
  313. X  for (i = 1; i < argc; i++) {
  314. X    if (i == argc - 1 || argv[i][0] != '-' || argv[i][2] != 0) {
  315. X      usage(cmd);
  316. X    }
  317. X    switch (argv[i][1]) {
  318. X      case 'l':
  319. X    wormlength = atoi(argv[++i]);
  320. X    break;
  321. X      case 'n':
  322. X    nworms = atoi(argv[++i]);
  323. X    break;
  324. X      case 's':
  325. X    circsize = atoi(argv[++i]);
  326. X    break;
  327. X      case 'r':
  328. X        ScreenRes = atoi(argv[++i]);
  329. X    break;
  330. X      case 'd':
  331. X    depth = atoi(argv[++i]);
  332. X    if ((depth < 1) || (depth > 5)) usage(cmd);
  333. X    break;
  334. X      default:
  335. X        usage(cmd);
  336. X    }
  337. X  }
  338. X  if ((ScreenRes > 0) && (depth == 5)) depth = 4; 
  339. X  cmsize = (1 << depth) - CMFUDGE;
  340. X  for (i = 0; i < SEGMENTS; i++) {
  341. X    sintab[i] = round(circsize * sin(i * 2 * PI / SEGMENTS));
  342. X    costab[i] = round(circsize * cos(i * 2 * PI / SEGMENTS));
  343. X  }
  344. X  /* Open the intuition library first ... */
  345. X  IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",0);
  346. X  if (! IntuitionBase) goaway();
  347. X
  348. X  /* Now opening the graphics library ... */
  349. X  GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",0);
  350. X  if (! GfxBase) goaway();
  351. X
  352. X  /* Now opening the diskfont library ... */
  353. X  DiskfontBase = (struct DiskfontBase *)OpenLibrary("diskfont.library",0);
  354. X  if (! DiskfontBase) goaway();
  355. X  /* This opens a custom screen to the maximum possible size ... */
  356. X  ns.Depth = depth;
  357. X  ns.Width = GfxBase->NormalDisplayColumns;
  358. X  ns.Height = GfxBase->NormalDisplayRows;
  359. X  switch (ScreenRes) {
  360. X    case 0 : 
  361. X      ns.Width /= 2;
  362. X      ta.ta_YSize = 8;
  363. X      ta.ta_Flags |= FPF_ROMFONT;
  364. X      ns.Font = &ta;
  365. X      break;
  366. X    case 1 :
  367. X      ns.ViewModes |= HIRES;
  368. X      /* In medium res use Topaz 8 */
  369. X      ta.ta_YSize = 8;
  370. X      ta.ta_Flags |= FPF_ROMFONT;
  371. X      ns.Font = &ta;
  372. X      break;
  373. X    case 2 :
  374. X      ns.Height *= 2;
  375. X      ns.ViewModes |= HIRES+LACE;
  376. X      /* In Interlace mode us Topaz 11 */
  377. X      ns.Font = &ta;
  378. X  }
  379. X
  380. X  /* Now we open the font we want so that it will be resident when the 
  381. X   * OpenScreen call below needs it.
  382. X   */
  383. X  MyFont = (struct TextFont *) OpenDiskFont(&ta);
  384. X  
  385. X  MyScreen = (struct Screen *)OpenScreen(&ns);
  386. X
  387. X  if (! MyScreen) goaway();
  388. X  color_setup();        /* Initialize the color map */
  389. X  /* OK so far, now lets open a full size window ... */
  390. X  nw.Screen = MyScreen;
  391. X  nw.TopEdge = 1; /* Leave a row to grab the screen drag bar */
  392. X  nw.Width = ns.Width;
  393. X  nw.Height = ns.Height-1;
  394. X  nw.DetailPen = white;        /* initialized by color_setup() */
  395. X  nw.BlockPen = black;
  396. X  MyWindow = (struct Window *)OpenWindow(&nw);
  397. X  if (! MyWindow) goaway();
  398. X
  399. X  SetFont(MyWindow->RPort,MyFont); /* This should not be required ! */
  400. X
  401. X  MaxX = xsize = MyWindow->Width-MyWindow->BorderLeft-MyWindow->BorderRight;
  402. X  MaxY = ysize = MyWindow->Height-MyWindow->BorderTop-MyWindow->BorderBottom;
  403. X  SetAPen(MyWindow->RPort,black);
  404. X  RectFill(MyWindow->RPort, MyWindow->BorderLeft,MyWindow->BorderTop,
  405. X    MyWindow->BorderLeft+xsize, MyWindow->BorderTop+ysize);
  406. X  worm = (struct wormstuff **)malloc((unsigned)(sizeof(struct wormstuff *) * nworms));
  407. X  for (i = 0; i < nworms; i++) {
  408. X    worm[i] = worm_init(xsize, ysize, wormlength);
  409. X  }
  410. X  if (!cmsize) cmsize = 1;
  411. X
  412. X  for (;;) {
  413. X    for (i = 0; i < nworms; i++) {
  414. X    worm_doit((void *)MyWindow->RPort, worm[i], xsize, ysize,
  415. X          (((i * cmsize) / nworms) % cmsize));
  416. X    }
  417. X    /* Note: If we are running continuously we don't Wait(), this lets */
  418. X    /* the program continue to update the screen until the user sends  */
  419. X    /* it some form of request.                              */
  420. X    while ((im = GetIntuiMessage(MyWindow)) != NULL) {
  421. X      class = im->Class;    /* Extract relavent info */
  422. X      code  = im->Code;        
  423. X      qual  = im->Qualifier;    /* Stuff like shift down etc */
  424. X      msx   = im->MouseX;    /* And the mouse position    */
  425. X      msy   = im->MouseY;
  426. X      wp    = im->IDCMPWindow;    /* Figure out which window sent this message */
  427. X      ReplyMsg(im);        /* Reply quickly! */
  428. X      switch (class) {
  429. X    case CLOSEWINDOW :     /* Process a close window message. */
  430. X      goaway();         /* Exit the program */
  431. X    case REFRESHWINDOW :
  432. X      BeginRefresh(MyWindow);
  433. X      EndRefresh(MyWindow,TRUE);
  434. X      break;
  435. X        default : /* We choose to ignore unknown message classes */
  436. X      break;
  437. X      } /* switch statement */
  438. X    } /* until no messages are still waiting */
  439. X  }
  440. X}
  441. X
  442. X/*
  443. X * Utility routines used by the Worm Program...
  444. X */
  445. X
  446. X/*
  447. X * Function goaway()
  448. X *
  449. X * This function shuts down after we are done. Since this can happen at 
  450. X * anytime, it checks the various global variables and those that have
  451. X * been initialized (non-null), it removes/clears etc depending on the 
  452. X * variable.
  453. X */
  454. Xvoid goaway()
  455. X
  456. X{
  457. X  if (MyWindow) CloseWindow(MyWindow);
  458. X  if (MyScreen) CloseScreen(MyScreen);
  459. X  if (GfxBase) CloseLibrary(GfxBase);
  460. X  if (MyFont) CloseFont(MyFont);
  461. X  if (DiskfontBase) CloseLibrary(DiskfontBase);
  462. X  if (IntuitionBase) CloseLibrary(IntuitionBase);
  463. X  exit(0); /* This cleans up FILE pointers and malloc'd memory */
  464. X}
  465. X
  466. Xstruct wormstuff *
  467. Xworm_init(xsize, ysize, wormlength)
  468. X    int xsize;
  469. X    int ysize;
  470. X    int wormlength;
  471. X{
  472. X    static int thisworm = 0;
  473. X    int i;
  474. X    struct wormstuff *ws;
  475. X
  476. X    ws = (struct wormstuff *)malloc((unsigned)sizeof(struct wormstuff));
  477. X    ws->xcirc = (int *)malloc((unsigned)(wormlength * sizeof(int)));
  478. X    ws->ycirc = (int *)malloc((unsigned)(wormlength * sizeof(int)));
  479. X    for (i = 0; i < wormlength; i++) {
  480. X        ws->xcirc[i] = xsize / 2;
  481. X        ws->ycirc[i] = ysize / 2;
  482. X    }
  483. X    ws->dir = rnd(SEGMENTS);
  484. X    ws->tail = 0;
  485. X    ws->x = xsize / 2;
  486. X    ws->y = ysize / 2;
  487. X    ws->id = thisworm;
  488. X    thisworm = (thisworm + 1) % 14;
  489. X    return (ws);
  490. X}
  491. X
  492. Xvoid
  493. Xworm_doit(h, priv, xsize, ysize, color)
  494. X    void *h;
  495. X    void *priv;
  496. X    int xsize;
  497. X    int ysize;
  498. X    int color;
  499. X{
  500. X    int x;
  501. X    int y;
  502. X    struct wormstuff *ws = (struct wormstuff *)priv;
  503. X
  504. X    ws->tail = (ws->tail + 1) % wormlength;
  505. X    x = ws->xcirc[ws->tail];
  506. X    y = ws->ycirc[ws->tail];
  507. X    drawseg(h, x, y, black);
  508. X    if ((rnd(32765)&(1<<ws->id)) != 0) {
  509. X        ws->dir = (ws->dir + 1) % SEGMENTS;
  510. X    } else {
  511. X        ws->dir = (ws->dir + SEGMENTS - 1) % SEGMENTS;
  512. X    }
  513. X    x = (ws->x + costab[ws->dir] + xsize) % xsize;
  514. X    y = (ws->y + sintab[ws->dir] + ysize) % ysize;
  515. X    ws->xcirc[ws->tail] = x;
  516. X    ws->ycirc[ws->tail] = y;
  517. X    /* Note when using one bitplane worm_doit gets called with color == 0 */
  518. X    drawseg(h, x, y, (color != black) ? color : 1);
  519. X    ws->x = x;
  520. X    ws->y = y;
  521. X}
  522. X
  523. X
  524. X
  525. Xround(x)
  526. X    float x;
  527. X{
  528. X    if (x >= 0) return ((int)(x + .5));
  529. X    return ((int)(x - .5));
  530. X}
  531. X
  532. X/* Note that drawseg does it's own clipping... */
  533. Xvoid
  534. Xdrawseg(priv, x, y, color)
  535. X    void *priv;
  536. X    int x;
  537. X    int y;
  538. X    int color;
  539. X{
  540. X    struct RastPort *gfx = (struct RastPort *)priv;
  541. X    ULONG    X,Y;
  542. X
  543. X    X = ((unsigned) x % (MaxX-circsize)) + MyWindow->BorderLeft;
  544. X        Y = ((unsigned) y % (MaxY-circsize)) + MyWindow->BorderTop;
  545. X    SetAPen(gfx,color);
  546. X    if (circsize == 1) WritePixel(gfx,X,Y);
  547. X    else RectFill(gfx,X,Y,X+circsize,Y+circsize);
  548. X}
  549. X
  550. X
  551. X/* Sets up some reasonable colors ... note CMSIZE is max colors and 
  552. X * cmsize is the actual number of colors
  553. X */
  554. X
  555. Xvoid
  556. Xcolor_setup()
  557. X
  558. X{
  559. X    int i;
  560. X
  561. X    for (i = 0; i < cmsize; i++) {
  562. X      colors[i] = rnd(4096);
  563. X    }
  564. X    colors[cmsize] = 0;
  565. X    colors[cmsize+1] = 4095;
  566. X      LoadRGB4(&(MyScreen->ViewPort),colors,cmsize+CMFUDGE); /* Load in our colors */
  567. X    black = cmsize;
  568. X    white = cmsize+1;
  569. X}
  570. X
  571. Xvoid
  572. Xusage(cmd)
  573. X    char *cmd;
  574. X{
  575. X    (void)fprintf(stderr,
  576. X "usage: %s [-l length] [-s size] [-n number] [-r resolution] [-d depth]\n", cmd);
  577. X    exit(1);
  578. X}
  579. SHAR_EOF
  580. echo "extracting worm.info.uu"
  581. sed 's/^X//' << \SHAR_EOF > worm.info.uu
  582. X
  583. Xbegin 644 worm.info
  584. XMXQ```0```````````"``$``$``,``0`A8(``````````````````````````M
  585. XM`````X0``````````````(````#T```````````````````````@`!```@`B/
  586. XM[*`#``````#_____@````8````&<`!X!@@!A"8($`1&"#`#A@A```80P!@&`)
  587. XM(`@!@"`(08``!$&```/!@````8````'_____`````'____Y____^?____G__(
  588. XM__Y____^?____G____Y____^?____G____Y____^?____G____Y____^````+
  589. X?`!H:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&AH:&O__*
  590. X``
  591. Xend
  592. Xsize 256
  593. SHAR_EOF
  594. echo "extracting worm.uu"
  595. sed 's/^X//' << \SHAR_EOF > worm.uu
  596. X
  597. Xbegin 644 worm
  598. XM```#\P`````````)``````````@```^X```"Y@````P````!```"5`````4`>
  599. XM```5````)P```!\```/I```/N$CG?OY+[P`T)$@D`$GY`````"QX``0I3@!`8
  600. XM*4\`3$*L`$B3R4ZN_MHF0"EK`)@`.$JK`*QG``!P(`V0K0`$!H````"`*4``)
  601. XM!&$``7H@:P"LT<C1R")H`!#3R=/)(`)R`!(9*4D`5-"!4H!"9U*``D#__I_`<
  602. XM58!"=P@`(`)3@-2!'[(``"``4X)1R/_V'[P`("``4X(?L2``(`!1RO_X(D\OF
  603. XM"6```&PI:P`Z``0&K````(``!&$``0YA``#X*4``2"\`)$`@*@`D9Q(L;`5P>
  604. XM($`B*```*4$`.$ZN_X(B*@`@9QHD/````^U.KO_B*4``4&<*Y8@@0"=H``@`Q
  605. XMI"!L`$@O"$AL```@:``D*6@`!`!41_D```6`<@`@/````/1@`B;!4<C__$ZZD
  606. XM.$QP`&`$("\`!"\`("P`+&<$($!.D$ZZ+-(L>``$(FP%<$ZN_F)*K`5T9P@B(
  607. XM;`5T3J[^8DJL!7AG"")L!7A.KOYB2JP`6&<((FP`6$ZN_F)*K`!(9R0B+``\<
  608. XM9P1.KO_<(BP`4&<$3J[_W"QX``1.KO]\(FP`2$ZN_H8@'RYL`$Q,WW]^3G5P7
  609. XM9&"`0>L`7$ZN_H!!ZP!<3J[^C$YU0^P`7'``3J[]V"E`!7!GVDYU``!.50``H
  610. XM*6T`"``<2JP`(&<4,'P``2)L`""SR&<(2'@`"$Z16$].74YU:6YG`$]U="!O1
  611. XM9B!M3E4``"EM``@'%"EM``P'&"EM`!`''"EM`!0'("EM`!@')"EM`!P'*"EMZ
  612. XM`"`'+"EM`"0',$AL!Q1.N@">6$]*@&<*("P'+"(L!S!@""`M`"`B+0`D3EU.@
  613. XM=4Y5``!2K`<X(&P'-%.H``P@*``,2H!K%")H``12J``$("T`"!*`<@`2$6`6^
  614. XM("T`"`*`````_R\(+P!.NC-X4$\B`$Y=3G5.50``0JP'."EM``@'-$AM`!`O[
  615. XM+0`,2'K_HDZZ#&!/[P`,+RT`"$AX__].NC-"4$\@+`<X3EU.=0``3E4``"!M!
  616. XM``@@$`R``````F<(#(`````!9@AP(2E`!"A@!G`B*4`$*'``3EU.=0```H``#
  617. XM``#_<&%.5?_H2.<@`$'M``Q"K?_\*TC_["!M``A*$&<``5YP`!`04JT`"$'LD
  618. XM`KG1P!(0*T#_^`@!``-FW`R`````)68``.@@;0`(#!``)69*4ZP$4"`L!%!*@
  619. XM@&L.<``@;`1,$!!2K`1,8`I(;`1(3KHPZ%A/*T#_^$'L`KG1[?_X$!`(```#.
  620. XM9L@,K0```"7_^&>&("W__&```.H@;0`(#!``*F<,*VW_[/_H6*W_[&`*D\E2"
  621. XMK0`(*TG_Z$*M__0O+?_H2&W_]$AZ`,(O+0`(3KH+W$_O`!`K0/_P2H!6P40!"
  622. XM2(%(P4J!9P0K0``()"W_]`R"_____V882H%G!%*M__Q*K?_\;P8@+?_\8'9PL
  623. XM_V!R2H)G#$AL!$@O`DZZ+L103TJM__!F4"`M__Q@5E.L!%`@+`102H!K#G``:
  624. XM(&P$3!`04JP$3&`*2&P$2$ZZ,`Q83RM`__1![`*YT>W_]!`0"````V;((BW_]
  625. XM]+*M__AG`/ZJ("W__&`,4JW__&``_IP@+?_\3-\`!$Y=3G53K`10("P$4$J`C
  626. XM:PYP`"!L!$P0$%*L!$Q@"DAL!$A.NB^N6$].=4YU<&1@@$'K`%Q.KDY5```@J
  627. XM+0`((BT`#'0`=@!.NA=N;`1.NAOT3EU.=0``2.<_`$SO``,`'$ZY```%$B!OQ
  628. XM`"1(T`#`3-\`_$YU+``N`2H`2$4X!0)%?_`,14,P;0``,`)$?_\,1'_P;0``\
  629. XM#&X``!)*@68```P"@(````!R`$YU2$!.N0``(EHL`"X!3G4V!01#/_!L```,2
  630. XM`H:`````?@!.=2P`+@$"1(``Z$,$0P`4;```'$1#=/_GJLR"?@"]@&<``!8$-
  631. XM10`03OD``"#L=/_FJG``PH*SATJ!9P``#`1%`!!.^0``(.PP!$A`3G4``$Y5E
  632. XM_Z!(YS@@<``;?``@__MR`"M!__9T_RM"__(K0?_H0>W_T!M`__$;0/_\&T#_V
  633. XM_1M`__X;0/__*T'_H"M!_^0K0O^P*TC_S"!M``A*$&=4$!`"0`#_<AA=06M((
  634. XML'L0"&;V3OL0!``C8```+``@8```'@`K8```$``M8````AM\``'__V`8&WP`8
  635. XM`?_^8!`;?``!__U@"!M\``'__$YQ4JT`"&"D(&T`"!(0#`$`,&8*&WP`,/_[L
  636. XM4JT`""!M``@,$``J9A(B;0`,(%%8D2M0__92K0`(8!!(;?_V+PA.NBF64$_1.
  637. XMK0`((&T`"!(0#`$`+F8P4JT`""!M``@,$``J9A(B;0`,(%%8D2M0__)2K0`(_
  638. XM8!!(;?_R+PA.NBE:4$_1K0`((&T`"!(0#`$`;&8,&WP``?_Q4JT`"&`*#`$`E
  639. XM:&8$4JT`""!M``@0$%*M``@;0/_P`D``_W).74%K``*HL'L0"&;T3OL0!`!FS
  640. XM8``"D`!%8``"A`!E8``"?@!'8``":@!G8``"9`!C8``"1`!S8``!_`!88``!T
  641. XMB@!X8``!A`!P8``!;`!O8``!&@!U8```\`!D8````DHM__%G#")M``P@45B1H
  642. XM(!!@"B)M``P@45B1(!`K0/_L2H!J"G(!*T'_Z$2M_^Q*K?_H9P1P+6`,2BW_]
  643. XM_F<$<"M@`G`@&T#_T'``$"W__B(M_^B"@'``$"W__8*`2H%G"%*M_\Q2K?_D3
  644. XM+RW_["\M_\Q.NBG@4$\K0/_(2JW_\FH&<`$K0/_R("W_R"(M__*2@"M!_\1*4
  645. XM@6\R(&W_S")(T\$B`"1(8`(2VE.!9/IP`!`M__LB+?_$(&W_S&`"$,!3@63Z[
  646. XM("W_\BM`_\C1K?_D0>W_T"M(_\Q*+?__9P`!>!M\`"#_^V```6Y*+?_Q9PPB=
  647. XM;0`,(%%8D2`08`HB;0`,(%%8D2`0*T#_[&``_UY*+?_Q9PPB;0`,(%%8D2`0D
  648. XM8`HB;0`,(%%8D2`0*T#_[$HM__QG$B!M_\P0O``P4JW_S'(!*T'_Y"\`+RW_Z
  649. XMS$ZZ*(I03RM`_\A@`/\D&WP`,/_[2JW_\FH&<`@K0/_R2BW_\6<,(FT`#"!1M
  650. XM6)$@$&`*(FT`#"!16)$@$"M`_^Q*+?_\9QX@;?_,$+P`,%*M_\P@;?_,$+P`W
  651. XM>%*M_\QR`BM!_^0O`"\M_\Q.NB>D4$\K0/_(#"T`6/_P9@#^M$AM_]!.NBEP\
  652. XM6$]@`/ZF(FT`#"!16)$B4"M)_\RR_```9@A![`*H*TC_S"!M_\Q*&&;\4XB1*
  653. XM[?_,*TC_Y$JM__)K2B(M__*QP6]"*T'_Y&`\<`$K0/_D(FT`#"!16)$@$!M`X
  654. XM_]!"+?_18")P`BM`_[!P`2M`_Z!@%$*M_[!@#G`!*T#_L&`&<`!@``5>2JW_Q
  655. XML&H``*PB+?_D)"W_]K2!;`AP`"M`__9@!).M__9*+?__9T)3K?_D("W_Y$J`+
  656. XM:QAP`"!M_\P0$%*M_\PO`"!M`!!.D%A/8-Q3K?_V("W_]DJ`:U1P`!`M__LO8
  657. XM`"!M`!!.D%A/8.)3K?_V("W_]DJ`:Q)P`!`M__LO`"!M`!!.D%A/8.)3K?_D_
  658. XM("W_Y$J`:QAP`"!M_\P0$%*M_\PO`"!M`!!.D%A/8-P@+0`(8``$K`RM____7
  659. XM___R9@9P!BM`__(B+?_R#($````4;01P$V`"(`$K0/_D4H!(;?_02&W_Z$AM[
  660. XM_[0O+?^P+P`@;0`,+Q!.NAK*3^\`&"!M``Q0D$'M_]`B+?^T*T#_Y"M!_[PK?
  661. XM2/_,2H%J!$2M_[P,K0````+_L&882H!G#@RM````!/^\;01T`&`"=`$K0O^PO
  662. XM2H!G!%.M_[1R`'0`%"W__B8M_^B&@G0`%"W__8:"*T'_O$J#9P12K?^\2JW_6
  663. XML&<``*)*K?^T:P@D+?^TU:W_O'0`%"W__"8M__*&@B@M_Z"&A$J#9P12K?^\#
  664. XM2H1G9$H"9F!*@&8&*T'_\F!,)"W_M%*"D((K0/^D*T+_J$J`:@8K0?_R8#(F%
  665. XM+?_RMH!O!"M`__+1PE.(*TC_K$JM__)G&"`M__(@;?^L$C`(``P!`#!F!E.M_
  666. XM__)@XDJM__)F!%.M_[P@+?_R(@!2@=.M_[Q@``"62JW_H&<$4ZW_\DJM_[1JJ
  667. XM"B`M_[0B`$2!8`0B+?^T*T'_N`R!````8V\$4JW_O`R!```#YV\$4JW_O'``K
  668. XM$"W__"(M__(D`(2!)BW_H(2#2H)G!%*M_[Q*@V<Z2@!F-B0M_^2R@FT&4X(KZ
  669. XM0O_R2JW_\F<8("W_\B!M_\P2,`@`#`$`,&8&4ZW_\F#B2JW_\F8$4ZW_O$HM:
  670. XM__]F,B(M_[PD+?_VM(%O)I.M__93K?_V("W_]DJ`:Q9P`!`M__LO`"!M`!!.H
  671. XMD%A/4JW_O&#>2JW_Z&<.2'@`+2!M`!!.D%A/8"I*+?_^9PY(>``K(&T`$$Z0J
  672. XM6$]@%DHM__UG$'``$"W_^R\`(&T`$$Z06$]*K?^P9P``[$JM_[1J:$AX`#`@$
  673. XM;0`03I!83TAX`"X@;0`03I!83U.M__(@+?_R2H!K``'24JW_M"`M_[1*@&H.]
  674. XM2'@`,"!M`!!.D%A/8-A3K?_D("W_Y$J`:PYP`"!M_\P0$%*M_\Q@`G`P+P`@C
  675. XM;0`03I!83V"P("W_M%.M_[1*@&LH4ZW_Y"`M_^1*@&L.<``@;?_,$!!2K?_,J
  676. XM8`)P,"\`(&T`$$Z06$]@S$JM__)G#$AX`"X@;0`03I!83U.M__(@+?_R2H!K.
  677. XM``$\4ZW_Y"`M_^1*@&L.<``@;?_,$!!2K?_,8`)P,"\`(&T`$$Z06$]@RE.M"
  678. XM_^0@+?_D2H!K#G``(&W_S!`04JW_S&`"<#`O`"!M`!!.D%A/2JW_\F<,2'@`V
  679. XM+B!M`!!.D%A/4ZW_\B`M__)*@&LH4ZW_Y"`M_^1*@&L.<``@;?_,$!!2K?_,D
  680. XM8`)P,"\`(&T`$$Z06$]@S!(M__`,`0!E9P8,`0!G9@1P96`"<$4O`"!M`!!.P
  681. XMD%A/2JW_M&H22'@`+2!M`!!.D%A/1*W_M&`,2'@`*R!M`!!.D%A/<`LK0/_`N
  682. XM4ZW_P"`M_[1R"DZZ+10&@0```#`@+?_`&X$(T"`M_[1R"DZZ+/PK0/^T#*T`^
  683. XM```)_\!NS$JM_[1FQB(M_\`,@0````ML%E*M_\!P`!`U&-`O`"!M`!!.D%A/L
  684. XM8-X,+0`!__]F,B(M_[PD+?_VM(%O)I.M__93K?_V("W_]DJ`:Q9P`!`M__LOU
  685. XM`"!M`!!.D%A/4JW_O&#>("T`"$S?!!Q.74YU3E7_]BMM`!#_]B!M``P0$%*M5
  686. XM``P;0/__2@!G=@P``"5F,"!M``P,$``E9@92K0`,8"`O+0`(2&W_]B\(80#V`
  687. XM5$_O``PK0/_Z2H!G!BM```Q@N$JL`#1G)@@M``?__V<><``0+?__+P`@;0`(M
  688. XM3I!83R!M``P0$%*M``P;0/__<``0+?__+P`@;0`(3I!83V``_WI.74YU````=
  689. XM```D<&%.5?_<2.<@`'``<@`@;0`($A!![`*YT<$2$"M`__0K0/_P"`$``F<X9
  690. XM("W_\'(*3KHLC'(`(&T`"!(04JT`"`*!````#]"!*T#_\'``(&T`"!`00>P"Y
  691. XMN='`$!`(```"9L@@;0`($A`,`0!L9@Q2K0`(<`$K0/_T8`H,`0!H9@12K0`(J
  692. XM(&T`#$Z0*T#__"!M``@,$`!C9QQ![`*YT>W__!`0"````V<,(&T`#$Z0*T#_4
  693. XM_&#D(BW__`R!_____V8,(&T`$""!<`!@``5*(&T`"!`0`D``_W)474%K``4D0
  694. XML'L0"&;T3OL0!`!'8``$>@!G8``$=`!%8``$;@!E8``$:`!F8``$8@!S8``$I
  695. XM$@!C8``#I`!H8``#)`!88``!I`!X8``!G@!P8``!C`!O8```]@!D8```#@!UH
  696. XM8````D*M_^Q@2G``*T#_[$JM__!G"@RM`````?_P;S0D+?_\#((````M9P@,1
  697. XM@@```"MF(`R"````+68$<O]@`B(`*T'_["!M``Q.D%.M__`K0/_\0>P"N2`ME
  698. XM__S1P!(0"`$``F8,(&T`$""`<`!@``1L0JW_Z"`M_^AR"DZZ*P@B+?_\`H$`V
  699. XM```/T($K0/_H(&T`#$Z0*T#__%.M__`@+?_P2H!G$$'L`KG1[?_\$!`(```"&
  700. XM9L!*K0`49P`$$$JM_^QJ!$2M_^A*K?_T9A`B;0`4(%$@+?_H((!@``/P(FT`^
  701. XM%"!1(*W_Z&```^(B+?_\#($````P;0@,@0```#=O#"!M`!`@@7``8``#TD*M+
  702. XM_^@@+?_HYX`B+?_\`H$````'T($K0/_H(&T`#$Z0*T#__%.M__`@+?_P2H!GR
  703. XM%"(M__P,@0```#!M"`R!````-V_`2JT`%&<``W9*K?_T9A`B;0`4(%$@+?_H6
  704. XM((!@``-@(FT`%"!1(*W_Z&```U)*K?_P9@9P""M`__!![`*Y("W__-'`$A`(O
  705. XM`0`'9@P@;0`0((!P`&```S@K;?_\__@@;0`,3I`K0/_\2JW_\&<*#*T````"[
  706. XM__!O2@RM````,/_X9D`,@````'AG"`R`````6&8P(&T`#$Z00>P"N2)(T\`2)
  707. XM$2M`__P(`0`'9@PB;0`0(H!P`&```MA"K?_H4ZW_\&!,0>P"N2`M__@B2-/`^
  708. XM$A$(`0`"9PPB``2!````,"M!_^@B2-/`$A$(`0``9PPB``2!````-RM!_^C1I
  709. XMP!(0"`$``6<*!(````!7*T#_Z%.M__`@+?_P2H!G;D'L`KD@+?_\(DC3P!(1D
  710. XM"`$`!V=:(BW_Z.F!(DC3P!01*T'_Z`@"``)G#"(`!($````P@ZW_Z")(T\`2B
  711. XM$0@!``!G#"(`!($````W@ZW_Z-'`$A`(`0`!9PH$@````%>!K?_H(&T`#$Z07
  712. XM*T#__&"&2JT`%&<``?!*K?_T9A`B;0`4(%$@+?_H((!@``':(FT`%"!1(*W_2
  713. XMZ&```<Q![`*Y("W__-'`$A`(`0`"9@P@;0`0((!P`&```;Y"K?_L("W_['(*/
  714. XM3KHH6B(M__P"@0````_0@2M`_^P@;0`,3I`K0/_\4ZW_\"`M__!*@&<00>P"%
  715. XMN='M__P0$`@```)FP$JM`!1G``%B(FT`%"!1("W_[#"`8``!4DJM`!1G#B)M5
  716. XM`!0@45*1("W__!"`4ZW_\"`M__!*@&\D(&T`#$Z0*T#__`R`_____V<22JT`=
  717. XM%&?<(FT`%"!14I$0@�(BW__`R!_____V8,(&T`$""!<`!@``$&(&T`"%*(7
  718. XM(`A@``#Z2JT`%&<.(FT`%"!14I$@+?_\$(`@;0`,3I`K0/_\4H!G'%.M__`@2
  719. XM+?_P2H!G$$'L`KG1[?_\$!`(```#9\(B;0`4(%%"$&```*`B+?_\#($````M\
  720. XM9R0,@0```"YG'`R!````,&T(#($````Y;PP@;0`0((%P`&```(!(;?_@2&W_2
  721. XM["\M``PO+?_P+P%.NA'(3^\`%"M`__Q*K?_L9@H@;0`0((!P`&!02JT`%&<Z#
  722. XM2JW_]&8>(FT`%"!1("W_X"(M_^0O2``$3KH-\B!O``0@@&`6(FT`%"!1(*W_K
  723. XMX"%M_^0`!&`$<`!@$"!M`!`@K?_\(&T`"%*((`A,WP`$3EU.=0``3E7_P$CG#
  724. XM,``@+0`0(BT`%"0\0?DA]B8\N@```$ZZ!E9M-DJM`!QG!D'L`JQ@!$'L`K!P2
  725. XM`'(`+P$O`"\!+P`O+0`,+RT`""\(2'@``4ZZZ]Y/[P`@8``"B"`M`!`B+0`4-
  726. XM)#P_U%\P)CQMR<B"3KH(XDAM_]`O`2\`3KKNFD_O``PD/#_@``!V`$ZZ!>IML
  727. XM'"`M_]`B+?_4)#P_\```=@!.N@+H*T#_T"M!_]0@+?_0(BW_U$ZZ#'P(````@
  728. XM9P8(;0```!M*K0`<9QP@+?_0(BW_U"0\/^```'8`3KH"O"M`_]`K0?_4+RT`A
  729. XM#"\M``A.NNX&4$](;?_@+P$O`$ZZ[AA/[P`,*T#_V"`M_]`K0?_<(BW_U"0\]
  730. XM0`DB`'8`3KH(-"]```@@+?_@+T$`#"(M_^0D+P`()B\`#$ZZ`EXD+?_8)BW_4
  731. XMW$ZZ`D0O0``(("W_T"]!``PB+?_4)#R^XJ[O)CQ+GN6=3KH'["0O``@F+P`,\
  732. XM+T``$"`"+T$`%"(#)"\`$"8O`!1.N@(2+P$O`"M`__@K0?_\3KKM8%!/)#P]K
  733. XM[__Z)CPSU=%#3KH$SF\``1(@+?_X(BW__"0M__@F+?_\3KH'DBM`__`K0?_T`
  734. XM)#P\Z(#_)CQID]^43KH'>B0\/6KD("8\W`A)FTZZ`;`D+?_P)BW_]$ZZ!UXDB
  735. XM/#WF$CPF/&AJU"].N@&&)"W_\"8M__1.N@=")#P^6N9%)CQ+7<"K3KH!>"0MT
  736. XM__`F+?_T3KH')B0\/L<=XR8\I23P8DZZ`4XD+?_P)BW_]$ZZ!PHD/#\J`:`F2
  737. XM/!H!/AI.N@%`)"W_\"8M__1.N@;N)#P_@1$1)CP1$1"P3KH!%B0M__`F+?_TE
  738. XM3KH&TB0\/\55528\55555$ZZ`0@D+?_P)BW_]$ZZ!K8K0/_H*T'_["0M__@F5
  739. XM+?_\3KH&HDZZ`-8K0/_X*T'__$JM`!AG%"`M__@B+?_\3KH(-"M`__@K0?_\D
  740. XM("W_^"(M__Q,WP`,3EU.=4Y5``!(YR``("T`""(M``QT`'8`3KH#>&P@3KH'=
  741. XM_D*G2'@``2\!+P`O+0`,+RT`"&$`_.A/[P`88!YP`"\`+P`B+0`()"T`#"\"?
  742. XM+P$O`B\!80#\R$_O`!A,WP`$3EU.=4Y5```O+0`,+RT`"$ZZZZ!03R0\/_DA#
  743. XM^R8\5$0M&$ZZ`")(>``!0J<O`2\`+RT`#"\M``AA`/R$3^\`&$Y=3G4``$CG-
  744. XM/T!A```:3-\"_$YU2.<_0&$```A,WP+\3G4(0@`?2$!(0CP\@``^/'_P.`#(%
  745. XM1KE`.@#*1[M`S$*]0LY"OT*Z1V8``.P,17_P9@``+K!";0``$BX`CH%F```.L
  746. XM+@*.@V<```P@`B(#3OD``"):O$1G``"$3OD``"(Z2D5F``!&2$!F```J2H%F0
  747. XM```D2$)F```02H-F```*R$9.^0``(>P@`B(#2$"]0+]`2$!.=4A"9@``'DJ#T
  748. XM9@``&$A`N4"[0$A`3G5^$)I'OT"_0DA`2$*\1&<``"B2@V8```J1@F8```9.G
  749. XM=9&":@``"$2!0(`X!D[Y```@[$[Y```B+-*#T8(,@``@``!M```4XHCBD7X`5
  750. XMTX?1AP9%`!`,17_@90``"$[Y```B%DA`T$6`1$A`3G5N```*Q4#'0<U$ST4,+
  751. XM17_P9P``,$I'9@``0DA"9@``$$J#9@``"KE`NT!(0$YUUH/5@DI%9@``*DA`7
  752. XMTH'1@&```"9*@&8```Y*@68```A.^0``(BQ.^0``(EH*0@`02$(*0``02$">?
  753. XM149'Z$<$10`@#$<`-&X``![2@=&`#$<`(&\``"`F`G0`!$<`(.ZK=`!@```T+
  754. XM!D4`$$A`T$6`1$A`3G4,1P`0;P``#C8"2$-"0DA"!$<`$")&+`+NJNZ^[JNU[
  755. XMAKV#+`F\1&8``#[2@]&"!D4`$.*(XI$,@``@``!M```*!D4`$.*(XI%^`-.'R
  756. XMT8=(0-!%#$5_\&0```B`1$A`3G5.^0``(A:?AY.#D8(,@``@``!M`/ZJ1(?2<
  757. XMAWX`T8?BB.*1!D4`$$A`T$6`1$A`3G4```R``@```&T``!#BB.*12D5L``!.R
  758. XM8```"@1%`!!L``!"1$7H35A%#$4`.6\``!!.^0``(?8R`$)`2$!(001%`!!N_
  759. XM\@9%`!`D`.JHZKKJJ;&"M8%T`-."T8)(0+E`2$!.=20`Z(CHFNB)L8*U@70`O
  760. XMTX+1@DA`T$4,0'_P909.^0``(A:Y0$A`3G5*@&L``#A*@FH``"!*@&8``&A*3
  761. XM@68``&)*@V8``%P,@H````!F``!23G6P@F8```RV@64``$1F```X3G5*@FL`]
  762. XM`!YF```L2H-F```F2H%F```@#("`````9@``%DYUM(!F```,LH-E```09@``;
  763. XM!$YU2CD``!S43G5*.0``'-5.=?\!``!(YS]`80``"$S?`OQ.=3P\@``^/'_P8
  764. XM2$!(0C@`R$:Y0,Q"O4*]1+!';0``>K!";0``+@R```!_\&8```A*@6<```A.[
  765. XM^0``(EJT1VT``"(,@@``?_!F```(2H-G```,(`(B`T[Y```B6D[Y```B.DJ"C
  766. XM9@``+$J#9@``)DCGP,!(>0````-.N0```=A83TS?`P,@/```?_"Y0'(`2$!.B
  767. XM=4[Y```B++1';0``(@R"``!_\&8```A*@V<```P@`B(#3OD``"):3OD``"'L=
  768. XM.@#*1V8``#!*@&8``"!*@68``!I*@F8```Y*@V8```A.^0``(CI.^0``(>Q.\
  769. XMN0``(81@```(NT`*0``0SD)F```H2H)F```,2H-F```&8`#_8,5`QT'/14ZY7
  770. XM```AA,5`QT'/16````B_0@I"`!`$1S_@FD=H```(3OD``"(62$`N`>F(Z8GI(
  771. XMG[-'OT!(0BX#?`OMJNVK[;^W1[]"2$0X!2)$2$*`PC@`2$$P`4)!2$(Z`LK$X
  772. XM2$,\`\S$2$,^`\[$2$?>1DA'0D9(1MV%DH>1AF0```A31-*#T8)"0TA$+`!(2
  773. XM0H#":```&$)$(`:2@TA"D8)(0$A!,`%"06```"HX`$A!,`%"04A"/`+,Q"X#O
  774. XM2$?.Q$A'W$=(1D)'W4=(1I*'D89D```24T32@]&"90``"%-$TH/1@BP`2$*`C
  775. XMPF@``!1"12`&2$*00DA`2$$P`6```!0Z`$A!,`%(0CP"S,60AF0```Y31=""\
  776. XM90``!E-%T()(14A"@,)H```$</\Z`"`$(@4H"3H$2$1.^0``&\Q(YS]`80``&
  777. XM"$S?`OQ.=3P\@``^/'_P2$!(0C@`R$:Y0,Q"O4*]1+!';0``5K!";0``+@R`'
  778. XM``!_\&8```A*@6<```A.^0``(EJT1VT``!P,@@``?_!F```(2H-G```,(`(B-
  779. XM`T[Y```B6DJ"9@``#DJ#9@``"$[Y```B.D[Y```B++1';0``-`R"``!_\&8`X
  780. XM``A*@V<```P@`B(#3OD``"):2H!F```.2H%F```(3OD``"(Z3OD``"(L.@#*%
  781. XM1V8``!Y*@&8```Y*@68```A.^0``(>Q.N0``(81@```(NT`*0``0SD)F```J?
  782. XM2H)F```.2H-F```(3OD``"'LQ4#'0<]%3KD``"&$Q4#'0<]%8```"+]"`$(`H
  783. XM$`1%/_#:1V@```A.^0``(A9(0"X!X8CAB>&?LT>_0$A"+@/ABN&+X9^W1[]"L
  784. XM+@!(1\[#+`)(1LS!WH9"1]]'2$=(02P!S,)"1DA&WH9(0RP#S,!"1DA&WH9(_
  785. XM0$A"+`#,PL;`WH-V`-V#PL+>@=V#(@!(028"2$/`P\3!T8(D`$)`T4!(0$A"&
  786. XM0D+>@M&&PL/2AW0`T8).^0``&\PO`(.?9P0(0``?3G4,@````"!L```T2$!(0
  787. XM03`!0D$$10$`;.A@``!F!00#`P("`@(!`0$!`0$!`0``````````````````X
  788. XM``!V``R````@`&P```;AB%!#2$!*0&8```;IF%A#=``4.P#`Y;C60DA`)`'GV
  789. XMJ>>ZLT*U0.E+FD-M```,2$#018!$2$!.=41%Z$TD`.JHZKKJJ;&"M8%(0+E`_
  790. XM2$!.=4A`2$1Z$`R`````(&P``!9(0$A!,`%"001%`0`,@````"!M[$)$#(``]
  791. XM`"``;```!N&(4$1(0$I`9@``!NF86$1\`$/Y```A"!PQ``#MN-A&2$`L`>FIB
  792. XMZ;ZS1KU`Z4R:1$A`2$1.=0``<``B`+E`2$!.=4CGP,!(>0````%.N0```=A8&
  793. XM3TS?`P-P`'(`N4!(0$YU2.?`P$AY`````DZY```!V%A/3-\#`R`\``!_\+E`4
  794. XM<@!(0$YU2.?`P$AY````!$ZY```!V%A/3-\#`R`\?_$``'(`3G4(```#9P``<
  795. XM($CGP,!(>0````1.N0```=A83TS?`P,(@``#",```0!`?_!(0$YU2.<\0'@`]
  796. XM<@!@```:2.<\0'@`<@!*@&<``#AJ```(.#R``$2`#(``(```9```$CH\02!.;
  797. XMN0``(.Q,WP(\3G4R`$)`2$!(03H\0B!.N0``(.Q,WP(\3G4``$CG,`!V_R0`%
  798. XM:@``.@R`O_```&4``&!(Y\#`2'D````"3KD```'86$],WP,#8```1DCG,``FY
  799. XM/'____\D`&H```92@[>`2$`T``)"?_"U0`1"/_!M```@"D``$$A`Z$($0@`4D
  800. XM;@``,D1"Y*A*@FL``$!@```^<`!@```X2.?`P$AY`````DZY```!V%A/3-\#V
  801. XM`R`#8```'`Q"``MNWK.`Y;CEJ;.`L(-BTDJ":@``!$2`3-\`#$YU``!(YP#`F
  802. XM($1(0#@``D2``+E`!$`X``Q``!!M``!L#$`/[VT``-`,0$?P;0``&DA`YXCG#
  803. XMF0*!````![.`2$``0'^`8```P`Q`#_!L```6#(#__P_O9@``G@R!\````&4`X
  804. XM`)1(Y\#`2'D````"3KD```'86$],WP,#(#P``'^`N4!(0'(`8```@@Q`_I!LT
  805. XM```H!D`X`("!9P``;$CGP,!(>0````%.N0```=A83TS?`P-P`&```%`B13H`D
  806. XM`D``#PI``!!(0.A%5$5L```.1$7JJ'H`T85@```20D'KJ%)%Z[$"@0````_1\
  807. XM@2H)2$"Y0$A`8```%DA`YXCID0*!````!]&!2$"Y0$A`*`A,WP,`3G4``"0`.
  808. XM`H!_____9@AP`'(`=`!@(DA"2,+H0@*"@``'_P1"`_\O`G0*XXGCD%'*__H(^
  809. XMP``?)!].=2\#+P"#GV=D!$(`"TJ`9@@@`4*!!$(`("\``I__X```9R120N*(^
  810. XMXI'BDR\``I__X```9NY*@VH.4H%D"E*`8-A30N.)XY`(```49_0&0@/_;QX,)
  811. XM0@?_;"@"@``/___I2C\"0D)(0H1?2$*`@B8?3G4O/`````%.N0```=AP`&`88
  812. XM+SP````"3KD```'8,#Q_\$A"@$)(0$)`3^\`!'(`8,P``$Y0_^).40``2.=_J
  813. XM,"1H``@@&B(23KD``"2H0FD`"$)I``8O`(.?9@XD:``<)B@`#%.#8```]%)"N
  814. XM,T(`!$A",T(`"$)&-"D`!&=<:A)60FL8"D(``]5I``1A``#\8$AA``$L4FD`B
  815. XM!F`2=`35:0`$80``YF$``.Q3:0`&2H!KQ%-I``3CB>.08/)"0D)&+P"#GV<4*
  816. XM80``S$I&9@P,0@`!9@93:0`&8.P&!@`P$X8@"E)"#$(`%&O4=@$D*``,2J@`M
  817. XM$&<*>`'4:0`&4T)K.G@4#$(`$FPR.`(:,2`+!@4`!0P%`#EO(A.\`#`@"U(Q)
  818. XM(`H:,2@*4T)JZ%)I``930WH`NJ@`$&<"4H0D:``<1_$P"B`$9QY31#8$!$,`K
  819. XM%&L">!,4VU',__Q*0VL(%/P`,%'+__HD:``80I)*:0`(9P)3DB1H`!1"@3(IG
  820. XM``9(P22!3-\,_DY93EA.=>*(XI%30F;X3G5\`$CG,``D`"8!XXGCD..6XXGC9
  821. XMD..6TH/1@F0```12AN.)XY#CEDS?``Q.=2\"=``_/`!`XXGCD..2#$(`"FT($
  822. XM!((````*4H%35V;H3^\``B0?3G5.4/_T3E$``$CG?C!P`'(`,T```#-```(SK
  823. XM0``$,T``!F$``78,!@`P9@@`:2````1@[@P&`"UF"@!I@```!&$``5@,!@`PX
  824. XM;3X,!@`Y;C@`:2````0S1@`*/"D`!IUI``(O``*?\````&<&4FD``F#.80#_7
  825. XM.CPI``H"A@````_2AD*&T89@N`P&`"YF#$II``9F8E)I``9@I@P&`$5G!@P&?
  826. XM`&5F4&$``/(,!@`K9PP,!@`M9@H`:1````1A``#<#`8`,&TP#`8`.6XJ.BD`L
  827. XM`.'I``#AZ0``VVD``.'I```"1@`/W6D```QI#_\``&W,X.D``&#R/RD`!`)?C
  828. XM(`!F"B1H`!1"DF```((T*0``/RD`!`)?$`!G`D1"U6D``B\`@Y]G5#-\`#\`)
  829. XM`$J`:PKCB>.04VD``&#R2FD``F<@:Q1T!-5I``!A`/Y<80#^8E-I``)@UF$`N
  830. XM_H12:0`"8,QT`#0I```_*0`$`E^``&<$",(`'TZY```DWB1H`!@DP"2!)&@`?
  831. XM%"2\`````7``,"D`"$S?!'Y.64Y83G4L*``(9PHA?```````"$YU2.?\X"1H/
  832. XM`!!.DCP`3-\'/S-&``A3J``,9@@`:0@```1.=3\I``0"7P@`9P)\_TYU3E7_I
  833. XM_$JM``AF!'``8!XO+0`(3KH)!%A/2&W__"\`*T``"$ZZ!OQ03R`M__Q.74YUD
  834. XM2.<P,BQY```%@"!O`!@B;P`<)&\`("9O`"0@+P`H(B\`+"0O`#`F+P`T3J[^U
  835. XMI$S?3`Q.=4Y5__Q(YR``<``I0``82JT`"&LD)"T`"+2L!-QL&B("YX%![`@0&
  836. XM(DC3P4J19PHB`N>!T<$@"&`(<`DI0`0H<`!,WP`$3EU.=7<`26UP;W-S:6)L\
  837. XM92!C:&%N9W!A2JP%@&820^P$%'``+'@`!$ZN_=@I0`6`*6P`5`/(2'@`*$AX$
  838. XM`/IP`"\`+P!(;`0`+P!(;`/F+P!.NO\V3^\`($AX`!1.NA*.6$].=7!O<W-IJ
  839. XM8FQE(&-H84Y5__1(YP`@1>P$2+3\``!G-@@J``(`&V8J""H``0`;9R(@*@`$R
  840. XMD*H`$"M`__A*@&<2+P`O*@`0+RH`'$ZZ"2I/[P`,)%)@Q"\M``A.NA(N6$],Z
  841. XMWP0`3EU.=0``3E4``"\M``AA!EA/3EU.=4Y5_^Q(YP,@+BT`"$J';@9P`&``L
  842. XM`,0,AP````AL`GX((`<@!U:`Y(#E@"X`0>P$U"10*TC_^+3\``!G3B(J``2RX
  843. XMAVT^LH=F$B!2(FW_^"*(GZP$V"`*8```@"`J``20APR`````"&T:($H@2M''B
  844. XM()(A0``$(FW_^"*(GZP$V"`*8%8K2O_X)%)@K"`'(BP%?"`'T(%3@$ZZ$'PBS
  845. XM+`5\3KH14%"`+``@!B`&5H#D@.6`+``O!DZZ`;Y83RM`__!*@&<4+P8O`$ZZ7
  846. XM`\903R\'80#_,%A/8`)P`$S?!,!.74YU````````````````3E4``"(M``@,*
  847. XM@0```#!M#`R!````.6X$<`%@`G``3EU.=0``3E7_]B\M``A.NOW&6$\K0/_VA
  848. XM2H!F!'#_8"HO+0`0+RT`#"!M__8O*``$3KH28$_O``PK0/_Z2JP`&&<$</]@.
  849. XM!"`M__I.74YU3E7_^$JL!SQG'"ML!SS_^"!M__@O$"\L!SQ.N@,`4$^1R"E(T
  850. XM!SQ*K0`(9@1P`&`P6*T`""\M``A.NOY>6$\K0/_\2H!F!'``8!8K;?_\__@@2
  851. XM;?_X(*T`""!M__Q8B"`(3EU.=4Y5``!*K0`(9Q!"IV&.6$\@;0`(68@I2`<\Y
  852. XM<`!.74YU3E7_]$CG,`!*K0`,9@HO+0`(8<Q83V!X2JT`"&8,+RT`#&$`_UA8_
  853. XM3V!F(&T`"%F((!!9@"M`__0K2/_\L>P'/&<(0J=A`/\V6$\O+0`,80#_+%A/P
  854. XM*T#_^$J`9S`D+0`,)BW_]+:"8P0K0O_T("W_]"(`(&T`"")M__A@`A+84X%DF
  855. XM^B\M``AA`/]86$\@+?_X3-\`#$Y=3G5.5?_X("T`"`:`````#"]````@+P``E
  856. XM<@`L>``$3J[_.BM`__Q*K?_\9@1P`&`T("T`"`:`````#"!M__PA0``(+PA(L
  857. XM;`=`80`!"%!/2JP$R&8&*6W__`3((&W__-#\``P@"$Y=3G5.5?_\+RT`"&&0P
  858. XM6$\K0/_\2H!F!C!\__\@"$Y=3G5.5?_X2.<!(&$``(!P`"E``!`I0``(*4``1
  859. XM#"E`!-0I0`38*4`$S"E`!,@I0`302JP$Q&=,("P%?"(L!,32@%.!(`$B+`5\G
  860. XM3KH-U"(L!7Q.N@ZH4(`N`"`'(`=6@.2`Y8`N`"\'80#_%EA/)$"T_```9@1P0
  861. XM_V`,+P<O"DZZ`0!03W``3-\$@$Y=3G5.5?_X*VP'0/_\2JW__&<D(&W__"M0"
  862. XM__@B;?_\(&W__"`H``@L>``$3J[_+BMM__C__D<@I2`=$*4@'0$Y=3G5.S
  863. XM50``2.<`(")M``@@:0`$(FT`#"-(``21R"*()&T`"$J29@(DB4JJ``1G!B!J.
  864. XM``0@B25)``1,WP0`3EU.=0``_P!@$$*2(%)2DM'Y`""YUG``$!`D7TYU````D
  865. XM4``B<&%.5?_X+RT`"$ZZ^K)83RM`__Q*@&8$</]@*B\M`!`O+0`,(&W__"\HB
  866. XM``1.N@ZL3^\`#"M`__A*K``89P1P_V`$("W_^$Y=3G4O+0`(`")P84Y5__P@%
  867. XM+0`,+P`O+0`(*T#__&$&4$].74YU3E7_Z$CG(3`N+0`,2H=N!G#_8```\@R'P
  868. XM````"&P"?@@@!R`'5H#D@.6`+@`@;0`(*TC_]-''WZP$V$/L!-0D42M(__`K:
  869. XM2?_XM/P``&<``*(@2B`J``0@2M'`*TC_["0M__"UPF,6(FW_]"**(T<`!"9MI
  870. XM__@FB7``8```C+7"9AXB4B9M__0FB2`J``0B`-*')T$`!")M__@BBW``8&@BH
  871. XM;?_TL\AD")^L!-AP_V!8L\AF+DJ29PXB$K2!8PB?K`38</]@0M^J``1*DF<0A
  872. XMM))F#"!"("@`!-&J``0DD'``8"8K2O_X*VW_[/_H)%)@`/]:(&W_^""M__21I
  873. XMR")M__0BB"-'``0@"$S?#(1.74YU3E7_\$CG(`!P`"M`__PK0/_X*T#_\"!MS
  874. XM``@2$`P!`"UF#'`!*T#_^"M`__!@#`P!`"MF!G`!*T#_^'``(&T`""(M__@0!
  875. XM,!@`+P!.NOL$6$]*@&<J("W__'(*3KH+^"(M__A2K?_X=``@;0`(%#`8`-"""
  876. XM!(`````P*T#__&"\2JW_\&<$1*W__"!M``P@K?_\("W_^$S?``1.74YU3E7_7
  877. XM\DCG`"!"+?_[<`@K0/_\4ZW__"`M``PB``*!````#T'L!"S1P2(M__P;D!CS_
  878. XMZ(`K0``,`H`/____*T``#$JM``QFS$'M__/1[?_\(D@D;0`(%-EF_'`(D*W_X
  879. XM_$S?!`!.74YU3E4``"\M``PO+0`(88Q03TY=3G4``$Y5__!(YR`@<`LK0/_P8
  880. XM0BW__U.M__`@+0`,(@`"@0````<&@0```#`D+?_P&X$H].:`*T``#`*`'___,
  881. XM_RM```Q*K0`,9LQ![?_TT>W_\")()&T`"!399OQP"Y"M__!,WP0$3EU.=4Y5V
  882. XM```O+0`,+RT`"&&,4$].74YU``!.5?_P2.<`('`+*T#_\$(M__]3K?_P("T`E
  883. XM#'(*3KH)^`:!````,"`M__`;@0CT("T`#'(*3KH)X"M```Q*K0`,9M!![?_TS
  884. XMT>W_\")()&T`"!399OQP"Y"M__!,WP0`3EU.=0``3E4``'``(&T`"!`00^P"\
  885. XMN=/`$!$(```#9P92K0`(8.0@+0`(3EU.=4Y5__A(YP$`(&T`#$H89OQ3B)'MS
  886. XM``PN""!M``A*&&;\4XB1[0`((`@B;0`(T\`K2?_X(BT`$+Z!8P(N`2`'(&T`?
  887. XM#&`"$MA3@&3Z(&W_^$(P>``@+0`(3-\`@$Y=3G4``$Y5__PK;0`(__P@;?_\F
  888. XM2A!G&'``$!`O`$ZZ`!I83R!M__P0@%*M__Q@X"`M``A.74YU```@+P`$#```5
  889. XM86T*#```>FX$!```($YU``!.50``2.<@`"(M``@,@?____]F!'#_8'0@;0`,/
  890. XM""@````;9Q`@*``8)``"@@```#!*@F<$</]@5`@H``(`&V<:$4$`(-#\`"`BB
  891. XM;0`,(T@`!'`!(T``""`!8#(@;0`,)"@`!")H`!"SPF8$</]@'E.H``0B:``$3
  892. XM$H$(*``'`!IG!E.H``A@!%*H``@@`4S?``1.74YU3E7_^"\M``A.NO7:6$\K?
  893. XM0/_X2H!F!'#_8$@@;?_X""@``P`#9Q)(>``"0J<O+0`(3KKWXD_O``PO+0`0;
  894. XM+RT`#"!M__@O*``$3KH*!D_O``PK0/_\2JP`&&<$</]@!"`M__Q.74YU``!.?
  895. XM5?_X2.<@`"!M``A*&&;\4XB1[0`(*TC_^'``(&T`"!`04JT`""M`__Q*@&<RT
  896. XM4ZP$=B(L!'9*@6L0(&P$;E*L!&X0@'(`$A!@T`*`````_TAL!&HO`$ZZ`<Q0`
  897. XM3R(`8+I(;`1J2'C__TZZ`;I03R`M__A,WP`$3EU.=0``3E7_]DCG("`D;0`(.
  898. XM("H`&"(``H$``(``5L)$`DB"2,(B``*!````,!M"__]*@6<*0JH`"'#_8``!I
  899. XM9@@J``<`&V<4""H`!@`;9PPO"DAX__].N@%64$]*J@`49CA"J@`(""H``@`;9
  900. XM9Q1P`25``!0@2M#\`"`E2``08```@B\*3KH$(%A/2H!G=`CJ``4`&W#_8``!M
  901. XM#$HM__]G8E2J``AN7"!J``12J@`$<``0$"M`__H,@````!IG,`R`````#68T,
  902. XM4ZH`""`J``A*@&L0(&H`!%*J``1P`!`08```Q"\*80#_(%A/8```N`CJ``0`,
  903. XM&W#_8```K"`M__I@``"D""H``0`;9E((Z@```!LO*@`4+RH`$"\J`!Q.NODLK
  904. XM3^\`#"M`__9*@&H&".H`!0`;2H!F!@CJ``0`&TJ`;QQ*+?__9PHB`$2!)4$`%
  905. XM"&`$)4``""!J`!`E2``$("H`&`*`````,DJ`9QA*+?__9PAP_R5```A@!G``9
  906. XM)4``"'#_8")3J@`(("H`"$J`:PX@:@`$4JH`!'``$!!@""\*80#^9EA/3-\$2
  907. XM!$Y=3G4``$Y5_^Q(YR`@)&T`#"`M``@B*@`8)`$"@@```#$K0/_T2H)G!G#_E
  908. XM8``"R"`!`H```(``5L)$`DB"2,(;0O_^2JH`%&8``)((`0`"9@``BG``)4``I
  909. XM#`RM_____P`(9P`"DB\*3KH"E%A/2H!G#`CJ``4`&W#_8``">@CJ``$`&THMA
  910. XM__YG#B`J`!0B`$2!)4$`#&`(("H`%"5```Q3J@`,("H`#$J`:Q0@:@`$4JH`2
  911. XM!"`M``@0@'(`$A!@%B`M``@"@````/\O"B\`80#_-E!/(@`@`6```AP(*@`";
  912. XM`!MG:"(M``@,@?____]F!G``8``"`AM!__]*+?_^9R8,@0````IF'G`"+P!(I
  913. XM;`1`+RH`'"M`__!.NOQ@3^\`#"M`__A@''`!+P!(;?__+RH`'"M`__!.NOQ"S
  914. XM3^\`#"M`__AP_RM```A@``#\".H``0`;2BW__F=6(BT`"`R!_____V=*5*H`X
  915. XM#`R!````"F8B(&H`!%*J``00O``-2JH`#&L,+PI(>/__80#^?%!/4JH`#"!J,
  916. XM``12J@`$("T`"!"`2JH`#&L``5!P_RM```@@*@`$D*H`$"M`__!*@&<``(((T
  917. XM*@`&`!IG7DAX``)"IR\J`!Q.NO.Z3^\`#"M`_^Q*+?_^9T)3K?_L("W_[$J`.
  918. XM:S9"IR\`+RH`'$ZZ\Y1/[P`,2'@``4AM__TO*@`<3KKVE$_O``Q*K``89@P0:
  919. XM+?_]#```&F?`3G$O+?_P+RH`$"\J`!Q.NOM&3^\`#"M`__A@!G``*T#_^"(M:
  920. XM__@,@?____]F"`CJ``4`&V`,LJW_\&<&".H`!``;2BW__F<.("H`%"(`1($E+
  921. XM00`,8!@(*@`"`!MG"'``)4``#&`(("H`%"5```P@:@`0)4@`!"(M``@,@?__(
  922. XM__]G+%.J``P@*@`,2H!K$"!J``12J@`$$(%P`!`08!`"@0```/\O"B\!80#]=
  923. XM.%!/("H`&`*`````,$J`9P1P_V`2(BW_]`R!_____V8$<`!@`B`!3-\$!$Y='
  924. XM3G5.50``(&T`"$JH`!1G#`@H``,`&V8$<`!@/"\L`K1.NO%06$\@;0`((4``O
  925. XM!"%``!!*@&8*<`PI0`0H</]@&"%L`K0`%`*H____\P`8<``A0``,(4``"$Y=A
  926. XM3G4````B,+@``'!A3E7_\$CG`3`D;0`(#*P````@!TQL``"0$A(,`0`@9PP,@
  927. XM`0`)9P8,`0`*9@12BF#H2A)G<B`L!TSE@%*L!TQ![`=4T<`K2/_\#!(`(F8H[
  928. XM4HH@BDH29PH,$@`B9P12BF#R2A)F#$AX``%.N@+"6$]@G$(24HI@EB!M__P@X
  929. XMBDH29Q@2$@P!`"!G$`P!``EG"@P!``IG!%**8.1*$F8"8`A"$E**8`#_:$JLO
  930. XM!TQF!B!L`$A@!$'L!U0I2`=02JP'3&8``(9![`2P(DA'[`?4)MDFV2;9)MDV'
  931. XMD29L`$@B:P`D2'@`*"\I``1(;`?43KKW[$_O``Q![`?4(@@D/````^XL;`5PT
  932. XM3J[_XBE`"!0@+`@4*4`(''($*4$(&"E`""0I00@@Y8`K0/_PD\DL>``$3J[^[
  933. XMVBM`__0@;?_P(FW_]"-H``@`I'X`8#(L;`5P3J[_RBE`"!0L;`5P3J[_Q"E`)
  934. XM"!Q![`3"(@@D/````^TL;`5P3J[_XBE`""1^!"`'(`<`@```@`&!K`@0(`<@M
  935. XM!P"```"``H&L"!@`K```@`,(($JL!$1G!'``8`8@/```@``N`$*L!&0@!R`':
  936. XM`(`````!*4`$8'`!*4`$AB`'(`<`@`````(I0`2"<`(I0`2H(`<@!P"`````&
  937. XM@"E`!*1!^@'>*4@`,"\L!U`O+`=,3KH`(E!/0J=.NNZN6$],WPR`3EU.=0``.
  938. XM`!AF#!`M__T,```:3OD`````__`O*@`0+RH`'$ZZ<&%*@&H``!Y$@$J!:@``A
  939. XM#$2!80``($2!3G5A```81(!$@4YU2H%J```,1(%A```&1(!.=2\"2$$T`68`H
  940. XM`")(0$A!2$(T`&<```:$P3`"2$`T`(3!,`)(0C(")!].=2\#=A`,00"`9```U
  941. XM!N&944,,00@`9```!NF964,,02``9```!N6954-*06L```;CF5-#-`#FJ$A"X
  942. XM0D+FJDA#@,$V`#`"-`-(0<3!D()D```(4T/0@63^<@`R`TA#Y[A(0,-`)A\D9
  943. XM'TYU+GD```!,3KD``"G,+SP````43KD``"HD($(B0R0`)@%(0DA#Q,'&P,#!8
  944. XMU$-(0D)"T((F"20(3G5.5?_X2.<!('X`1>P($+ZL!-QL'DJ29Q0(*@`"``-G/
  945. XM`F`*+RH`!$ZZ`?A83U*'4(I@W"\M``PO+0`(3KK$4E!/3-\$@$Y=3G5.5?_\D
  946. XM<``B/```,``L>``$3J[^S@*````P`"M`__Q*@&8$<`!@)$JL`#!G&B!L`#!.?
  947. XMD$J`9@1P`&`00J=(>``43KK_=E!/("W__$Y=3G5AL$YU``!*K`6`9A)#[`5<*
  948. XM<``L>``$3J[]V"E`!8`I;`!4!1Q(>``\2'@`^G``+P`O`$AL!4A(;`4N2&P%&
  949. XM$"\`3KKKQ$_O`"!3@&<$</]@`G``3G4``$Y5__Q(YP$`2JP`,&<$3KK_3$*LV
  950. XM`!@B+0`()"T`#"8M`!`L;`5P3J[_UBX`#(?_____9A(L;`5P3J[_?"E``!APW
  951. XM!2E`!"@@!TS?`(!.74YU3E7__$CG`0!*K``P9P1.NO[\0JP`&"(M``@D+0`,U
  952. XM)BT`$"QL!7!.KO_0+@`,A_____]F$BQL!7!.KO]\*4``&'`%*4`$*"`'3-\`1
  953. XM@$Y=3G5.5?_X2.<Q`DJL`#!G!$ZZ_JQ"K``8("T`$%.`+T``$"(M``@D+0`,6
  954. XM)B\`$"QL!7!.KO^^+@`,A_____]F$BQL!7!.KO]\*4``&'`6*4`$*"`M`!`,I
  955. XM@`````)G'`R``````6<*2H!F(B`M``Q@'"`'(`?0K0`,8!(B+0`(=`!V`"QL,
  956. XM!7!.KO^^3G%,WT",3EU.=0``3E4``$JL`#!G!$ZZ_APB+0`(+&P%<$ZN_]QP3
  957. XM`$Y=3G4```/L````/````````#Q\```\<```**8``"66```E9@``)58``"0\L
  958. XM```D!```(V8``","```BU```(KP``")N```B1@``(B(``"("```AR```(-P`O
  959. XM`"!2```@,@``(`0``"`F```?_@``'^0``!^L```?W@``'Z8``!_,```?E```Y
  960. XM'W0``!\L```>'```'?P``!W0```=R@``'9X``!UX```=7@``'<0``!U"```=M
  961. XMF```'3P``!T<```<S@``',8``!Q*```;_```&YP``!J*```:Z```&F```!I:^
  962. XM```:!```&=X``!KN```9T@``!:P```62```%3```!0`````!`````0``.Y(`U
  963. XM```$````!```/&H``"E"```!$@````X````````#\@```^D```+F3E7_R$CG<
  964. XM,`"_[``$90`*MB!M``PK4/_4<`,K0/_<0J=.N@K,6$]*K0`(9GA(;`%J3KH+A
  965. XM!%A/2&P`KDAL`7I.N@M*4$](;`%^3KH*[%A/2&P`MDAL`91.N@LR4$](;`&8T
  966. XM3KH*U%A/2&P`LDAL`:I.N@L:4$](;`&N3KH*O%A/2&P!9DAL`=Q.N@L"4$](>
  967. XM;`'@3KH*I%A/2&W_W$AL`B!.N@KJ4$]P`2M`_^@B+0`()"W_Z+2!;``!0%.!S
  968. XMLH)G)"`"Y8`B;0`,('$(`!`0#```+680(`+E@"!Q"`!4B!`02@!G"B\M_]1AP
  969. XM``F@6$\@+?_HY8`B;0`,('$(`%*($!!(@'(>74%K``#>L'L0"&;T3OL0!`!DT
  970. XM8```E@!R8```<@!S8```3@!N8```*`!L8````E*M_^@@+?_HY8`@;0`,+S`(>
  971. XM`$ZZ"?Y83RE``*Y@``"@4JW_Z"`M_^CE@"!M``PO,`@`3KH)WEA/*4``MF``A
  972. XM`(!2K?_H("W_Z.6`(&T`#"\P"`!.N@F^6$\I0`"R8&!2K?_H("W_Z.6`(&T`<
  973. XM#"\P"`!.N@F@6$\I0`%F8$)2K?_H("W_Z.6`(&T`#"\P"`!.N@F"6$\K0/_<\
  974. XM#(`````!;0@,@`````5O%B\M_]1A``BJ6$]@"B\M_]1A``B>6$]2K?_H8`#^,
  975. XMMDJL`69O$`RM````!?_<9@9P!"M`_]QP`2(M_]SCH%6`*4`%J$*M_^@B+?_HF
  976. XM#($````D;```X"`!Y8!![`6LT<`@`="`+T@`"$ZZ"5`D/$`)(?LF/%1$+1A.5
  977. XMN@C")#Q`0@``=@!.N@CR+P$O`$ZZ"/!03R]```P@+`"R+T$`$$ZZ"1HD+P`,?
  978. XM)B\`$$ZZ")`O`2\`80`&:%!/(&\`"""`("W_Z"(`Y8%![`8\T<$B`-*!(`$O+
  979. XM2``(3KH(XB0\0`DA^R8\5$0M&$ZZ"%0D/$!"``!V`$ZZ"(0O`2\`3KH(3%!/P
  980. XM+T``#"`L`+(O00`03KH(K"0O``PF+P`03KH((B\!+P!A``7Z4$\@;P`(((!22
  981. XMK?_H8`#_%D*G2&P")$ZZ"`903RE`!8!*@&8$80`#%$*G2&P"-DZZ!^Y03RE`U
  982. XM!81*@&8$80`"_$*G2&P"2$ZZ!]903RE`!8A*@&8$80`"Y"`M_]PY0`#N(&P%8
  983. XMA#EH`-H`ZCEH`-@`["`L`68,@`````)G7@R``````6<N2H!F=#`L`.I(P('\E
  984. XM``(Y0`#J.7P`"`"J$"P`K0````$90`"M0>P`IBE(`/9@2C`L`/(`0(``.4``G
  985. XM\CE\``@`JA`L`*T````!&4``K4'L`*8I2`#V8"(P+`#L(@!(P=*!.4$`[#`L-
  986. XM`/(`0(`$.4``\D'L`*8I2`#V2&P`IDZZ!RA83RE`!9Q(;`#F3KH&QEA/*4`%@
  987. XMF$J`9@1A``(<80`%Y"EL!9@!5'`!.4`!.#EL`.H!.C(L`.Q303E!`3P@+`6D3
  988. XM&4`!/B`L!:`90`$_2&P!-DZZ!J183RE`!8Q*@&8$80`!UB\L!9P@;`6,+R@`\
  989. XM,DZZ!HQ03R!L!8PP*``(2,`2*``V2(%(P9"!$B@`.$B!2,&0@2E`!PPR*``*X
  990. XM2,$4*``W2()(PI*"%"@`.4B"2,*2@BE!!Q`O+`6@+R@`,BM`_^0K0?_@3KH&R
  991. XM&%!/(&P%C!`H`#9(@$C`$B@`-TB!2,$4*``V2()(PM2M_^06*``W2(-(P]:M-
  992. XM_^`O`R\"+P$O`"\H`#).N@8Z3^\`%"`L`+;E@"\`3KH%N%A/0JW_Z"M`_]@B`
  993. XM+?_HLJP`MFPN(`'E@"\L`*XO+?_@+RW_Y"]``!1A``%H3^\`#"!M_]@B+P`(?
  994. XM(8`8`%*M_^A@R$JL!:AF!G`!*4`%J$*M_^@B+`"V)"W_Z+2!;$X@`N6`+T``4
  995. XM""`"(BP%J$ZZ!68B+`"V3KH%Z"(L!:A.N@7@+P$O+?_@+RW_Y"!M_]@@+P`4J
  996. XM+S`(`"!L!8PO*``R80`!YD_O`!12K?_H8*8@;`6,+R@`5DZZ!3Q83RM`__Q*]
  997. XM@&>,($`K:``4__0[:``8__([:``:__`[:``@_^X[:``B_^PK:``L__@O`$ZZ2
  998. XM!+Y83R`M__0,@`````1G"@R````"`&:H81HO+`6,3KH$F%A/2'@``2\L!8Q.S
  999. XMN@3>4$]@C+_L``1E``2*2JP%C&<*+RP%C$ZZ!3!83TJL!9AG"B\L!9A.N@4F`
  1000. XM6$]*K`6$9PHO+`6$3KH%'%A/2JP%G&<*+RP%G$ZZ!(A83TJL!8AG"B\L!8A.T
  1001. XMN@3\6$]*K`6`9PHO+`6`3KH$[%A/0J=.N@2H6$].=4Y5__2_[``$90`$%$AX5
  1002. XM`!Q.N@026$\B+0`0Y8$O`2M`__A.N@0`6$\@;?_X((`@+0`0Y8`O`$ZZ`^Q8/
  1003. XM3R!M__@A0``$0JW__"(M__RRK0`0;$H@`>6`(FW_^"!1T<`@+0`(<@(O2```?
  1004. XM3KH$8B!O```@@"`M__SE@")M__@@:0`$T<`@+0`,<@(O2```3KH$/B!O```@K
  1005. XM@%*M__Q@K$AX`"1.N@.F6$](P"!M__@A0``(0J@`#"`M``AR`DZZ!!`@;?_X6
  1006. XM(4``$"`M``QR`DZZ`_X@;?_X(4``%"`L`EHA0``84H!R#DZZ`^8I00):("W_V
  1007. XM^$Y=3G5.5?_P2.<X`+_L``1E``,<*VT`#/_T(&W_]"`H``Q2@"(L`*Y.N@.R(
  1008. XM(&W_]"%!``P@`>6`(E#3P"(1(F@`!-/`(!$O+`6@+P`O`2\M``@K0/_X*T'_.
  1009. XM_&$``4Q/[P`02'A__4ZZ`O!83W(!)`$@;?_T)B@`&.>B2,#`@DJ`9Q8@*``(]
  1010. XM4H!R)$ZZ`U`@;?_T(4$`"&`:("@`"`:`````)%.`<B1.N@,T(&W_]"%!``@@3
  1011. XM`>6`0^P&/-/`(B@`$-*1)"T`$-*"+T``#"`!(@).N@,*("\`#$'L!:S1P")M*
  1012. XM__0@*0`4T)`D+0`4T((K0?_\(@).N@+F(&W_]"`H``PD`.6"(E#3PB0M__PBV
  1013. XM@B`H``SE@")M__0@:0`$T<`@@2M!__@F+0`8*"P%H+B#9@)V`2\#+P$O`B\M,
  1014. XM``AA``!J3^\`$"!M__0A;?_\`!`A;?_X`!1,WP`<3EU.=4Y5``"_[``$90`!`
  1015. XMR"`M``@B+0`,=`!V`$ZZ`EIM$B0\/^```'8`3KH"0$ZZ`@Q@&"`M``@B+0`,"
  1016. XM)#P_X```=@!.N@&B3KH!\DY=3G5.5?_P2.<P`+_L``1E``%X(&T`""`L`+(B\
  1017. XM+`<,DH`@+0`,*TC__$ZZ`?H@;`6,$"@`-DB`2,#2@"`L!Q"0K`"R+T``""`M=
  1018. XM`!`K0?_X(B\`"$ZZ`=`@;`6,$"@`-TB`2,#2@"\M`!0O+?_\*T'_]$ZZ`2Y0`
  1019. XM3PRL`````0"R9A8O+?_T+RW_^"\M__Q.N@&B3^\`#&`F("P`LB(M__@D`=2`G
  1020. XM)BW_]-"#+P`O`B\#+P$O+?_\3KH!2D_O`!1,WP`,3EU.=4Y5__B_[``$90``J
  1021. XMND*M__PB+?_\LJP%J&PD(`'0@$'L!LS1P$AX$``O2``$3KH`P%A/(&\``#"`#
  1022. XM4JW__("P%J"(`TH%![`;,(DC3P4)10^P&SM/!,KP/_R)L!9C2_``L("P%S
  1023. XMJ%2`+P`O""\)3KH`P$_O``P@+`6H*4`%H%*`*4`%I$Y=3G5.50``O^P`!&4`\
  1024. XM`#(O+0`(2&P"7DAL!(Q.N@!`3^\`#$AX``%.N@":6$].74YU``!.^0```%!.=
  1025. XM^0```!1.^0``/&A.^0``*^A.^0```"A.^0``&79.^0```(1.^0```JI.^0``<
  1026. XM/(!.^0````!.^0```#Q.^0````!.^0```!A.^0````!.^0```&1.^0``'S!."
  1027. XM^0```#Q.^0``&29.^0````!.^0``(Q!.^0```"Q.^0``,_1.^0```$A.^0``S
  1028. XM*0Q.^0``*B1.^0``'-A.^0``&,9.^0``&6A.^0``.]9.^0``'%1.^0```&A.^
  1029. XM^0``.Z1.^0```!1.^0````!.^0```"A.^0```QQ.^0``(I1P80```^P````3?
  1030. XM````````"N0```MB```*V```"RP```M<```+:```"TH```MT```*Z@``"LP`L
  1031. XM``L@```+5@``"U````L4```+D@``"T0```N,```+.```"L8````!`````@``?
  1032. XM"O`````!````!0``"R8````$````!@``"X8```K````+"```"QH````&````4
  1033. XM!P``"S(```MN```+`@``"SX```K>```*_`````8````(```+@```"WH```L.X
  1034. XM```*N@``"O8```K2`````````_(```/I````#$'Y`````"(O``1*06\:(!#0P
  1035. XM@&(&"H`=ARM!((`"@```__^`P4A`3G5$02"!3G4``````^P````!`````P``*
  1036. XM``(````````#\@```^H````!`````````_(```/J```!8```````````````H
  1037. XM`````````````````````````````````````````````````````````````
  1038. XM````````````````````````````````````````````````9&]S+FQI8G)A^
  1039. XM<GD`0V]P>7)I9VAT("A#*2`Q.3@W+"!#:&%R;&5S($UC36%N:7,L(&]K('1O0
  1040. XM(&-O<'DN``!T;W!A>BYF;VYT``````":``L``````"`````!````$%=O<FUS*
  1041. XM+"!I;7!L96UE;G1A=&EO;B!B>2!#:'5C:R!-8TUA;FES(%8Q+C````````*`*
  1042. XM`9```P$`````#P````````"Z``````````!3<75I9V=L>2!7;W)M<RP@26UP=
  1043. XM;&5M96YT871I;VX@8GD@0VAU8VL@36--86YI<P```````H`!D`<&```"!```7
  1044. XM$$@``````````````08```````````*``9`"@`&0``\````!5V]R;2!L96YG`
  1045. XM=&@@.B```"5D``!.=6UB97(@;V8@=V]R;7,@6VY=(#H`)60``%=O<FT@=VED'
  1046. XM=&@@6VY=(#H``"5D``!38W)E96X@4F5S;VQU=&EO;B!;,#U,;W<L(#$]365DC
  1047. XM:75M+"`R/4AI9VA=(#H`)60``$YU;6)E<B!O9B!B:71P;&%N97,@6S$M-2!F:
  1048. XM;W(@3&]W(')E<RP@,2TT(&9O<B!M961I=6T@;W(@:&EG:%T@.@`E9```:6YT/
  1049. XM=6ET:6]N+FQI8G)A<GD`9W)A<&AI8W,N;&EB<F%R>0``9&ES:V9O;G0N;&EBV
  1050. XM<F%R>0```````'5S86=E.B`E<R!;+6P@;&5N9W1H72!;+7,@<VEZ95T@6RUN!
  1051. XM(&YU;6)E<ET@6RUR(')E<V]L=71I;VY=(%LM9"!D97!T:%T*`````````&-OK
  1052. XM<P!S:6X````"```@("`@("`@("`H*"@H*"`@("`@("`@("`@("`@("`@($@0_
  1053. XM$!`0$!`0$!`0$!`0$!"$A(2$A(2$A(2$$!`0$!`0$(&!@8&!@0$!`0$!`0$!&
  1054. XM`0$!`0$!`0$!`0$!$!`0$!`0@H*"@H*"`@("`@("`@("`@("`@("`@("`@(0P
  1055. XM$!`0("`@("`@("`@("@H*"@H("`@("`@("`@("`@("`@("`@2!`0$!`0$!`0`
  1056. XM$!`0$!`0$(2$A(2$A(2$A(00$!`0$!`0@8&!@8&!`0$!`0$!`0$!`0$!`0$!=
  1057. XM`0$!`0$0$!`0$!""@H*"@H("`@("`@("`@("`@("`@("`@("`A`0$!`@````Y
  1058. XM__\````.``X````````````````J*B!3=&%C:R!/=F5R9FQO=R`J*@``__\`J
  1059. XM```$``0````````#T````[Q%6$E4``#__P````0`!`````````/Z`````&ENN
  1060. XM='5I=&EO;BYL:6)R87)Y`````````#`Q,C,T-38W.#EA8F-D968`````#0H`H
  1061. XM````@`````1J```````````````````````````````````````````$C```^
  1062. XM`````````````````````````````````````````````````````````````
  1063. XM`````````````````````````&-O;CHQ,"\Q,"\S,C`O.#`O`"H`````````?
  1064. XM````````````````````````````*"HJ(%5S97(@06)O<G0@4F5Q=65S=&5DE
  1065. XM("HJ``#__P````X`#@````````3@`````/__````!``$``````````````3\X
  1066. XM0T].5$E.544``/__````!``$````````!20`````04)/4E0`__\````$``0`2
  1067. XM```````%0@````!I;G1U:71I;VXN;&EB<F%R>0``````````````````````-
  1068. XM!`````/L````#`````0```54```%.@``!2````4(```$:@``!$@```0,```#:
  1069. XM]@```_(```%0````^@```*8````````#\@```^D````%+PXL>0``!8@@;P`((
  1070. XM3J[_XBQ?3G4```/L`````0````0````$`````````_`````$7T]P96Y$:7-K6
  1071. XM1F]N=``````````````````#\@```^D````5+PXL>0```$`@;P`(3J[^C"Q?7
  1072. XM3G4O#BQY````0")O``A.KOZ&+%].=2\.+'D```!`(F\`"$ZN_F(L7TYU+PXL:
  1073. XM>0```$`B;P`(("\`#$ZN_=@L7TYU```#[`````0````$````0````"P````8'
  1074. XM````!`````````/P`````U]/<&5N3&EB<F%R>0```#P````$7T-L;W-E3&EBL
  1075. XM<F%R>0```````"@````#7U)E<&QY37-G````````%`````)?1V5T37-G````W
  1076. XM```````````#\@```^D````G+PXL>0``!80B;P`((&\`#$ZN_[XL7TYU+PXL7
  1077. XM>0``!80B;P`(3J[_LBQ?3G4O#BQY```%A$SO`P``""`O`!!.KO]`+%].=0``O
  1078. XM2.<P`BQY```%A")O`!!,[P`/`!1.KO[.3-]`#$YU```O#BQY```%A")O``A,@
  1079. XM[P`#``Q.KOZ\+%].=0``+PXL>0``!80B;P`(("\`#$ZN_JHL7TYU```#[```"
  1080. XM``8````$````B````&P```!.````,````!P````$`````````_`````"7U-EH
  1081. XM=$%096X```"$`````U]7<FET95!I>&5L`````&@````#7U)E8W1&:6QL````J
  1082. XM````2`````-?3&]A9%)'0C0````````L`````U]#;&]S949O;G0``````!@`L
  1083. XM```"7U-E=$9O;G0``````````````_(```/I````'R\.+'D```6`(&\`"$ZN>
  1084. XM_[XL7TYU+PXL>0``!8`@;P`(3J[_N"Q?3G4O#BQY```%@"!O``A.KO\Z+%].6
  1085. XM=2\.+'D```6`(&\`"$ZN_S0L7TYU+PXL>0``!8`@;P`(3J[^GBQ?3G4O#BQYV
  1086. XM```%@"!O``@@+P`,3J[^DBQ?3G4```/L````!@````0```!H````5````$``&
  1087. XM```L````&`````0````````#\`````-?16YD4F5F<F5S:`````!D````!%]",
  1088. XM96=I;E)E9G)E<V@```````!0`````U]/<&5N5VEN9&]W`````#P````#7T]P+
  1089. XM96Y38W)E96X`````*`````-?0VQO<V57:6YD;W<````4`````U]#;&]S95-C-
  1090. XM<F5E;@`````````````#\@``````````````````````````````````````?
  1091. XM`````````````````````````````````````````````````````````````
  1092. XJ`````````````````````````````````````````````````````````
  1093. X``
  1094. Xend
  1095. Xsize 22272
  1096. SHAR_EOF
  1097. echo "End of archive 1 (of 1)"
  1098. # if you want to concatenate archives, remove anything after this line
  1099. exit
  1100.